import matplotlib.pyplot as plt

data = [1, 1, 2, 3, 3, 5, 7, 8, 9, 10, 10, 11, 11, 13, 13, 15, 16, 17, 18, 18, 18, 19, 20]

# bins 用来定义直方图的bin（箱体）数目或者具体的边界。
# range 参数可以设置直方图显示数据的数值范围，只有在该范围内的数据会被统计和显示。
# density 若设为True，直方图的纵轴将显示概率密度而非计数；如果将其设置为False，会显示计数。
# cumulative 为True时，会计算直方图的累积分布。
# orientation 可以设置直方图的方向，比如 ‘horizontal’ 为水平方向。
# color 可以设置直方图的颜色。
# edgecolor 可以设置直方图边缘线的颜色。
# alpha参数用于控制颜色的透明度。

plt.hist(data, bins=20, density=True, alpha=0.6, color='g', edgecolor='black')
plt.xlabel('Value')
plt.ylabel('Probability')
plt.title('Histogram')
plt.grid(True)
plt.show()
